package com.dengpp.pdform.api;

import android.content.Context;
import android.view.View;

import com.dengpp.pdform.config.AttributeConfig;

/**
 * 创建自定义视图接口
 */
public interface CustomFormView {
    /**
     * 创建自定义视图
     * @return 返回创建的视图，可以是代码创建的 View 或 XML 布局的根视图
     */
    View createView(Context context);

    /**
     * 绑定数据和配置
     */
    void bindData(AttributeConfig attribute, Object value);

    /**
     * 获取当前值（用于表单提交）
     */
    Object getCurrentValue();

    /**
     * 设置值变化监听器
     */
    void setOnValueChangeListener(OnValueChangeListener listener);

    /**
     * 视图销毁时的清理工作（可选）
     */
    default void onDestroy() {}

    interface OnValueChangeListener {
        void onValueChanged(Object value);
    }
}
